﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Modulos/ModuloConsumo/VistaControl/MasterPageConsumo.master" AutoEventWireup="true" CodeFile="ingresoDonacion.aspx.cs" Inherits="Modulos_ModuloConsumo_VistaControl_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <h2>Registrar Ingreso por Donación</h2>
    <br />
    <asp:FormView ID="FormView1" runat="server" 
        DataKeyNames="ID_INGRESO,ID_DONACION" DataSourceID="SqlDataSource1">
        <EditItemTemplate>
            ID_INGRESO:
            <asp:Label ID="ID_INGRESOLabel1" runat="server" 
                Text='<%# Eval("ID_INGRESO") %>' />
            <br />
            USR_RUT:
            <asp:TextBox ID="USR_RUTTextBox" runat="server" Text='<%# Bind("USR_RUT") %>' />
            <br />
            FECHA_INGRESO:
            <asp:TextBox ID="FECHA_INGRESOTextBox" runat="server" 
                Text='<%# Bind("FECHA_INGRESO") %>' />
            <br />
            TIPO_INGRESO:
            <asp:CheckBox ID="TIPO_INGRESOCheckBox" runat="server" 
                Checked='<%# Bind("TIPO_INGRESO") %>' />
            <br />
            ID_DONACION:
            <asp:Label ID="ID_DONACIONLabel1" runat="server" 
                Text='<%# Eval("ID_DONACION") %>' />
            <br />
            Expr1:
            <asp:TextBox ID="Expr1TextBox" runat="server" Text='<%# Bind("Expr1") %>' />
            <br />
            ID_PRODUCTO:
            <asp:TextBox ID="ID_PRODUCTOTextBox" runat="server" 
                Text='<%# Bind("ID_PRODUCTO") %>' />
            <br />
            CANTIDAD_PROD_DON:
            <asp:TextBox ID="CANTIDAD_PROD_DONTextBox" runat="server" 
                Text='<%# Bind("CANTIDAD_PROD_DON") %>' />
            <br />
            NOM_DONANTE:
            <asp:TextBox ID="NOM_DONANTETextBox" runat="server" 
                Text='<%# Bind("NOM_DONANTE") %>' />
            <br />
            FONO_DONANTE:
            <asp:TextBox ID="FONO_DONANTETextBox" runat="server" 
                Text='<%# Bind("FONO_DONANTE") %>' />
            <br />
            MAIL_DONANTE:
            <asp:TextBox ID="MAIL_DONANTETextBox" runat="server" 
                Text='<%# Bind("MAIL_DONANTE") %>' />
            <br />
            <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" 
                CommandName="Update" Text="Actualizar" />
            &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancelar" />
        </EditItemTemplate>
        <InsertItemTemplate>
            <table style="width:100%;">
                <tr>
                    <td style="width: 99px">
                        Usuario</td>
                    <td style="width: 3px">
                        :</td>
                    <td colspan="4">
                        <asp:DropDownList ID="DropDownList1" runat="server"
                            DataSourceID="SqlDataSource1"
                            DataTextField="NOM_USR"
                            SelectedValue= '<%# Bind("USR_RUT") %>'
                            DataValueField="USR_RUT">
                        </asp:DropDownList>
                        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                            ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
                            
                            SelectCommand="SELECT [USR_RUT], [NOM_USR], [AP_PAT_USR], [AP_MAT_USR], [FONO_USR], [MAIL_USR], [PASS_USR], [TIPO_USR], [ESTADO_USR] FROM [USUARIO]">
                        </asp:SqlDataSource>
                    </td>
                </tr>
                <tr>
                    <td style="width: 99px">
                        Fecha</td>
                    <td style="width: 3px">
                        :</td>
                    <td colspan="4">
                        <asp:TextBox ID="FECHA_INGRESOTextBox" runat="server"
                            Value='<%# System.DateTime.Now.ToString("dd-MM-yyyy") %>'
                            Text='<%# Bind("FECHA_INGRESO", "{0:d}") %>' />
                        <asp:RequiredFieldValidator ID="RequiredFECHA_INGRESOValidator" runat="server" 
                            ControlToValidate="FECHA_INGRESOTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ID="ExpressionFECHA_INGRESOValidator" runat="server" 
                            ControlToValidate="FECHA_INGRESOTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo de Fecha" 
                            ValidationExpression="(\d{1,2}\-\d{1,2}\-\d{4})"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td style="width: 99px">
                        Tipo</td>
                    <td style="width: 3px">
                        :</td>
                    <td colspan="4">
                        <asp:CheckBox ID="TIPO_INGRESOCheckBox" runat="server" 
                            Checked='<%# Bind("TIPO_INGRESO") %>' />
                        (Donación)</td>
                </tr>
                <tr>
                    <td style="width: 99px">
                        Información Donante</td>
                    <td style="width: 3px">
                        :</td>
                    <td colspan="4">
                        &nbsp;</td>
                </tr>
                <tr>
                    <td style="width: 99px">
                        &nbsp;</td>
                    <td style="width: 3px">
                        &nbsp;</td>
                    <td colspan="2">
                        Nombre</td>
                    <td>
                        :</td>
                    <td>
                        <asp:TextBox ID="NOM_DONANTETextBox" runat="server" 
                            Text='<%# Bind("NOM_DONANTE") %>' />
                        <asp:RequiredFieldValidator ID="RequiredNOM_DONANTEValidator" runat="server" 
                            ControlToValidate="NOM_DONANTETextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td style="width: 99px">
                        &nbsp;</td>
                    <td style="width: 3px">
                        &nbsp;</td>
                    <td colspan="2">
                        Telefono</td>
                    <td>
                        :</td>
                    <td>
                        <asp:TextBox ID="FONO_DONANTETextBox" runat="server" 
                            Text='<%# Bind("FONO_DONANTE") %>' />
                    </td>
                </tr>
                <tr>
                    <td style="width: 99px">
                        &nbsp;</td>
                    <td style="width: 3px">
                        &nbsp;</td>
                    <td colspan="2">
                        Email</td>
                    <td>
                        :</td>
                    <td>
                        <asp:TextBox ID="MAIL_DONANTETextBox" runat="server" 
                            Text='<%# Bind("MAIL_DONANTE") %>' />
                    </td>
                </tr>
                <tr>
                    <td style="width: 99px">
                        Producto</td>
                    <td style="width: 3px">
                        :</td>
                    <td>
                        <asp:DropDownList ID="DropDownList2" runat="server"
                            DataSourceID="SqlDataSource2"
                            DataTextField="NOMBRE_PRODUCTO"
                            SelectedValue='<%# Bind("ID_PRODUCTO") %>'
                            DataValueField="ID_PRODUCTO">
                        </asp:DropDownList>
                        <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
                            ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
                            
                            SelectCommand="SELECT [ID_PRODUCTO], [ID_TIPO_PROD], [NOMBRE_PRODUCTO], [STOCK_PRODUCTO], [PRECIO_MAXIMO], [PROD_HABILITADO] FROM [PRODUCTO_GRATUITO]">
                        </asp:SqlDataSource>
                    </td>
                    <td>
                        Cantidad</td>
                    <td>
                        :</td>
                    <td>
                        <asp:TextBox ID="CANTIDAD_PROD_DONTextBox" runat="server" 
                            Text='<%# Bind("CANTIDAD_PROD_DON") %>' />
                        <asp:RegularExpressionValidator ID="ExpressionCANTIDAD_PROD_DONValidator" 
                            runat="server" ControlToValidate="CANTIDAD_PROD_DONTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Numérico" ValidationExpression="\d+"></asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator ID="RequiredCANTIDAD_PROD_DONValidator" 
                            runat="server" ControlToValidate="CANTIDAD_PROD_DONTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    </td>
                </tr>
            </table>
            <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
                CommandName="Insert" Text="Confirmar Ingreso" />
            &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancelar" />
        </InsertItemTemplate>
        <ItemTemplate>
            <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
                CommandName="New" Text="Ingresar Producto" />
        </ItemTemplate>
        <EmptyDataTemplate>
            <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
                CommandName="New" Text="Ingresar Producto" />
        </EmptyDataTemplate>
    </asp:FormView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
        InsertCommand="INSERT INTO [dbo].[INGRESO] ([USR_RUT], [FECHA_INGRESO], [TIPO_INGRESO]) VALUES (@USR_RUT, @FECHA_INGRESO, @TIPO_INGRESO);
SELECT ID_INGRESO, USR_RUT, FECHA_INGRESO, TIPO_INGRESO FROM INGRESO WHERE (ID_INGRESO = SCOPE_IDENTITY());

INSERT INTO [dbo].[DETALLE_DONACION] ([ID_INGRESO], [ID_PRODUCTO], [CANTIDAD_PROD_DON], [NOM_DONANTE], [FONO_DONANTE], [MAIL_DONANTE]) VALUES (@@IDENTITY, @ID_PRODUCTO, @CANTIDAD_PROD_DON, @NOM_DONANTE, @FONO_DONANTE, @MAIL_DONANTE);

UPDATE [dbo].[PRODUCTO_GRATUITO] SET [ID_TIPO_PROD] = [ID_TIPO_PROD], [NOMBRE_PRODUCTO] = [NOMBRE_PRODUCTO], [STOCK_PRODUCTO] = [STOCK_PRODUCTO] + @CANTIDAD_PROD_DON, [PRECIO_MAXIMO] = [PRECIO_MAXIMO], [PROD_HABILITADO] = [PROD_HABILITADO] WHERE (([ID_PRODUCTO] = @ID_PRODUCTO));

UPDATE [dbo].[TIPO_PRODUCTO] SET [NOMBRE_TIPO_PROD] = [NOMBRE_TIPO_PROD], [STOCK_TIPO_PRODUCTO] = [STOCK_TIPO_PRODUCTO] + @CANTIDAD_PROD_DON, [PRECIO_MAXIMO_TIPO] = [PRECIO_MAXIMO_TIPO], [STOCK_MINIMO_TIPO] = [STOCK_MINIMO_TIPO] WHERE (([ID_TIPO_PROD] = (SELECT ID_TIPO_PROD FROM PRODUCTO_GRATUITO WHERE ID_PRODUCTO = @ID_PRODUCTO)))" 
        
        
        
        SelectCommand="SELECT INGRESO.ID_INGRESO, INGRESO.USR_RUT, INGRESO.FECHA_INGRESO, INGRESO.TIPO_INGRESO, DETALLE_DONACION.ID_DONACION, DETALLE_DONACION.ID_INGRESO AS Expr1, DETALLE_DONACION.ID_PRODUCTO, DETALLE_DONACION.CANTIDAD_PROD_DON, DETALLE_DONACION.NOM_DONANTE, DETALLE_DONACION.FONO_DONANTE, DETALLE_DONACION.MAIL_DONANTE FROM INGRESO INNER JOIN DETALLE_DONACION ON INGRESO.ID_INGRESO = DETALLE_DONACION.ID_INGRESO">
        <InsertParameters>
            <asp:Parameter Name="USR_RUT" />
            <asp:Parameter Name="FECHA_INGRESO" />
            <asp:Parameter Name="TIPO_INGRESO" />
            <asp:Parameter Name="ID_PRODUCTO" />
            <asp:Parameter Name="CANTIDAD_PROD_DON" />
            <asp:Parameter Name="NOM_DONANTE" />
            <asp:Parameter Name="FONO_DONANTE" />
            <asp:Parameter Name="MAIL_DONANTE" />
        </InsertParameters>
    </asp:SqlDataSource>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataSourceID="SqlDataSource2" AllowPaging="True" AllowSorting="True">
        <Columns>
            <asp:BoundField DataField="ID_INGRESO" HeaderText="ID" 
                InsertVisible="False" ReadOnly="True" SortExpression="ID_INGRESO" />
            <asp:TemplateField HeaderText="Fecha" SortExpression="FECHA_INGRESO">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("FECHA_INGRESO") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("FECHA_INGRESO", "{0:d}") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="NOM_USR" HeaderText="Nombre" 
                SortExpression="NOM_USR" />
            <asp:BoundField DataField="ID_DONACION" HeaderText="ID Donación" 
                InsertVisible="False" ReadOnly="True" SortExpression="ID_DONACION" />
            <asp:BoundField DataField="NOMBRE_PRODUCTO" HeaderText="Producto" 
                SortExpression="NOMBRE_PRODUCTO" />
            <asp:BoundField DataField="CANTIDAD_PROD_DON" HeaderText="Cantidad" 
                SortExpression="CANTIDAD_PROD_DON" />
            <asp:BoundField DataField="NOM_DONANTE" HeaderText="Donante" 
                SortExpression="NOM_DONANTE" />
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
        
        SelectCommand="SELECT INGRESO.ID_INGRESO, INGRESO.FECHA_INGRESO, USUARIO.NOM_USR, USUARIO.AP_PAT_USR, USUARIO.AP_MAT_USR, DETALLE_DONACION.ID_DONACION, PRODUCTO_GRATUITO.NOMBRE_PRODUCTO, DETALLE_DONACION.CANTIDAD_PROD_DON, DETALLE_DONACION.NOM_DONANTE FROM INGRESO INNER JOIN DETALLE_DONACION ON INGRESO.ID_INGRESO = DETALLE_DONACION.ID_INGRESO INNER JOIN USUARIO ON INGRESO.USR_RUT = USUARIO.USR_RUT INNER JOIN PRODUCTO_GRATUITO ON DETALLE_DONACION.ID_PRODUCTO = PRODUCTO_GRATUITO.ID_PRODUCTO">
    </asp:SqlDataSource>
</asp:Content>

